﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BLL;

namespace QuanLyDatDai
{
    public partial class FrmThemChuSuDung : Form
    {
        public FrmThemChuSuDung()
        {
            InitializeComponent();
        }

        private void btnLuu_Click(object sender, EventArgs e)
        {
            if (ValidateForm())
            {
                
                ChuSuDungBLL chusudung = new ChuSuDungBLL();
                try
                {
                    chusudung.ThemChuSuDung(txtMacsd.Text, txtTenCSD.Text, txtCMND.Text, dateTimePickerNgayCap.Value.Date,
                    dateTimePickerNamSinh.Value.Date, txtSoNha.Text, txtTenDuong.Text, txtThon.Text, cbbXaPhuong.SelectedValue.ToString(),
                    cbbQuocTich.SelectedValue.ToString(), cbbDanToc.SelectedValue.ToString(), cbbDoiTuong.SelectedValue.ToString());
                    MessageBox.Show("Thêm chủ sử dụng thành công", "Thông báo",MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch(Exception ex) 
                {
                    MessageBox.Show(ex.InnerException.Message, "");
                }
               
            }

            else
            {
                MessageBox.Show("Mời nhập dữ liệu hợp lệ", "Thông báo");
            }
        }

        private void FrmThemChuSuDung_Load(object sender, EventArgs e)
        {
            cbbDanToc.DataSource = new DanTocBLL().DanhSachDanToc();
            cbbDanToc.SelectedValue = "DT1";
            cbbDoiTuong.DataSource = new DoiTuongBLL().DanhSachDoiTuong();
            cbbQuocTich.DataSource = new QuocTichBLL().DanhSachQuocTich();
            cbbQuocTich.SelectedValue = "VN";
            cbbXaPhuong.DataSource = new XaPhuongBLL().DanhSachXaPhuong();
            cbbXaPhuong.SelectedValue = "21610";
        }

        private void btnHuy_Click(object sender, EventArgs e)
        {
            txtMacsd.Text = "";
            txtTenCSD.Text = "";
            txtCMND.Text = "";
            txtSoNha.Text = "";
            txtTenDuong.Text = "";
            txtThon.Text = "";

        }

        #region Validate Dữ liệu nhập FrmThemChuSuDung
        private bool ValidateTxtMaCSD()
        {
            bool bStatus = true;
            if (string.IsNullOrEmpty(txtMacsd.Text))
            {
                errorProviderThemChuSuDung.SetError(txtMacsd, "Mời bạn nhập Mã thửa đất");
                bStatus = false;
            }
            else
                errorProviderThemChuSuDung.SetError(txtMacsd, "");
            return bStatus;
        }

        private bool ValidateTxtTenCSD()
        {
            bool bStatus = true;
            if (string.IsNullOrEmpty(txtTenCSD.Text))
            {
                errorProviderThemChuSuDung.SetError(txtTenCSD, "Mời bạn nhập Mã thửa đất");
                bStatus = false;
            }
            else
                errorProviderThemChuSuDung.SetError(txtTenCSD, "");
            return bStatus;
        }

        private bool ValidateTxtCMND()
        {
            bool bStatus = true;
            if (string.IsNullOrEmpty(txtCMND.Text))
            {
                errorProviderThemChuSuDung.SetError(txtCMND, "Mời bạn nhập Mã thửa đất");
                bStatus = false;
            }
            else
                errorProviderThemChuSuDung.SetError(txtCMND, "");
            return bStatus;
        }

        private bool ValidateTxtTenDuong()
        {
            bool bStatus = true;
            if (string.IsNullOrEmpty(txtTenDuong.Text))
            {
                errorProviderThemChuSuDung.SetError(txtTenDuong, "Mời bạn nhập Mã thửa đất");
                bStatus = false;
            }
            else
                errorProviderThemChuSuDung.SetError(txtTenDuong, "");
            return bStatus;
        }

        private bool ValidateTxtThon()
        {
            bool bStatus = true;
            if (string.IsNullOrEmpty(txtThon.Text))
            {
                errorProviderThemChuSuDung.SetError(txtThon, "Mời bạn nhập Mã thửa đất");
                bStatus = false;
            }
            else
                errorProviderThemChuSuDung.SetError(txtThon, "");
            return bStatus;
        }

        private bool ValidateTxtSoNha()
        {
            bool bStatus = true;
            if (string.IsNullOrEmpty(txtSoNha.Text))
            {
                errorProviderThemChuSuDung.SetError(txtSoNha, "Mời bạn nhập Mã thửa đất");
                bStatus = false;
            }
            else
                errorProviderThemChuSuDung.SetError(txtSoNha, "");
            return bStatus;
        }

        private bool ValidateForm()
        {
            bool bMaCSD = ValidateTxtMaCSD();
            bool bTenCSD = ValidateTxtTenCSD();
            bool bCMND = ValidateTxtCMND();
            bool bTenDuong = ValidateTxtTenDuong();
            bool bSoNha = ValidateTxtSoNha();
            bool bThon = ValidateTxtThon();
            if (!bMaCSD || !bTenCSD || !bCMND || !bTenDuong||!bThon||!bSoNha)
            {
                return false;
            }
            else
                return true;

        }

        private void txtMacsd_Validating(object sender, CancelEventArgs e)
        {
            ValidateTxtMaCSD();
        }

        private void txtTenCSD_Validating(object sender, CancelEventArgs e)
        {
            ValidateTxtTenCSD();
        }

        private void txtCMND_Validating(object sender, CancelEventArgs e)
        {
            ValidateTxtCMND();
        }

        private void txtTenDuong_Validating(object sender, CancelEventArgs e)
        {
            ValidateTxtTenDuong();
        }

        private void txtThon_Validating(object sender, CancelEventArgs e)
        {
            ValidateTxtThon();
        }

        private void txtSoNha_Validating(object sender, CancelEventArgs e)
        {
            ValidateTxtSoNha();
        }

        private void txtCMND_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && e.KeyChar != '.')
            {
                e.Handled = true;
            }

            // only allow one decimal point
            if (e.KeyChar == '.'
                && (sender as TextBox).Text.IndexOf('.') > -1)
            {
                e.Handled = true;
            }
        }
                #endregion


        
                        
    }
}
